Among the news about the latest development of communication technologies, the next generation network (NGN) and 3rd generation (3G) are the most attractive.
During the evolution of the NGN, the definition of the NGN has continuously evolved. In the “Global NGN Summit 2004” organized by the International Telecommunication Union (ITU), the NGN is defined as a packet-based network that can provide various services such as telecom services and can use many types of broadband transmission technologies with quality of service (QoS) assurance. This definition specifies the ultimate direction and scope of the NGN.
The current NGN deployment generally adopts two key components, namely, the media gateway controller (MGC) and the media gateway (MG), for networking. The MGC is responsible for the call control function, and the MG is responsible for the service bearing function, thus separating the call control plane from the service bearer plane. The MGC and the MG may evolve independently. Thus, the network resources are fully shared, the equipment upgrade and service extension are simplified, and the costs of development and maintenance are greatly reduced.
The media gateway control protocol is a main protocol for communication between the MG and the MGC. The widely used protocols are H.284/Gateway Control Protocol (MeGaCo) and Media Gateway Control Protocol (MGCP). The protocol generally used for communication between MGs is the Real-time Transfer Protocol (RTP), as shown in FIG. 1.
The MGCP protocol was formulated by the Internet Engineering Task Force (IETF) in October 1999 and revised in January 2003. The H.284/MeGaCo protocol was formulated by the IETF and the ITU in November 2000 and revised in June 2003. The H.284/MeGaCo R2 protocol was formulated by the ITU in May 2002 and revised in March 2004. The H.284 R3 protocol was formulated by the ITU in September 2005.
For the H.248/MeGaCo protocol, eight basic commands are applicable between the MGC and the MG: Add, Modify, Subtract, Move, AuditValue, AuditCapabilities, Notify, and ServiceChange.
For the MGCP protocol, nine basic commands are applicable between the MGC and the MG: NotificationRequest (RQNT), Notify (NTFY), CreateConnection (CRCX), ModifyConnection (MDCX), DeleteConnection (DLCX), AuditEndpoint (AUEP), AuditConnection (AUCX), ReStartInProgress (RSIP), and EndpointConfiguration (EPCF).
The H.248/MeGaCo protocol derives from the MGCP. Taking the H.248 protocol as an example, the MG bears a service through the resources on the MG. Such resources are abstractly represented by terminations. Terminations are categorized into physical terminations and ephemeral terminations. Physical terminations are physical entities that exist semi-permanently, for example, time division multiplex (TDM) paths. Ephemeral terminations represent the public resources that are requested for an ephemeral purpose and released soon after being used, for example, RTP streams. The combinations between terminations are abstractly represented by contexts. Because a context may comprise multiple terminations, a topology is used to describe the interrelations between terminations. The termination not correlated with any other termination is contained by a special context called null context.
In such a protocol-based abstract model, a call connection is actually an operation on the termination and the context. Such operations are performed through the command request and reply mechanism between the MGC and the MG. Command parameters, also known as descriptors, are categorized into property, signal, event, and statistic categories.
Specifically, “Property” refers to the specifications of the resources, and is generally either sent by the MGC to the MG or set by the MG, for example, the maximum value and minimum value of jitter buffer. “Signal” is used by the MGC to instruct the MG to perform resource operations, for example, play a dialing tone, a ringback tone, or a busy tone to a user. “Event” is used by the MGC to instruct the MG to monitor the state, for example, monitor the user off-hook, hang-up, dialing, and flash-hook. “Statistic” indicates the state of resource utilization. Generally, the MG performs calculations, and the MGC may enable or disable (i.e., activate or deactivate) some of the parameters. The parameters with service relevance are logically aggregated into a package.
Under the control of the MGC, the MG is responsible for converting and transferring media streams between a user and a packet switched (PS) network and between PS networks in different domains. As shown in FIG. 2, an access media gateway (AMG) may perform media conversion and transfer between a plain old telephone service (POTS) user and an RTP media stream. A trunk media gateway (TMG) can perform media conversion and transfer between a time division multiplexing (TDM) trunk and an RTP media stream. A packet media gateway can perform media conversion and transfer between RTP media streams.
To ensure the quality of service (QoS) and communication security, the MGC needs to perform packet filtering for various media streams received and sent by the MG, namely, permit or prohibit the media streams with certain characteristics to enter or leave the MG. In the prior art, by sending certain filtering rules to the MG the MGC permits or prohibits the media streams that meet or do not meet the filtering rules to enter or leave the MG. Suppose the filtering rule sent by the current MGC to the MG is that only the TCP streams from port 21 can be received. Therefore when the MG receives a File Transfer Protocol (FTP) service packet, the MG judges whether it meets the filtering condition. If the FTP service packet comes from port 21, the FTP service packet meets the filtering rule, and the packet is permitted to enter or leave the MG If the FTP service packet comes other networks or ports, the packet is prohibited to enter or leave the MG.
In the practical application, the preceding solution has the following problem. The packet filtering method in the prior art may be unable to meet the requirements of certain services.
The main reason is as follows. In the prior art, each packet that enters or leaves the MG is filtered according to a fixed filtering rule. For certain services, however, the packets to be transferred for implementing a service are correlated, and the method in the prior art cannot filter these correlated packets correctly, thus failing to meet the requirements of the services. For example, in a practical application, the FTP service uses port 21 to transfer command packets, and uses a dynamically allocated port to transfer subsequent packets. In this case, if the MGC sets a simple rule that permits only the FTP service from port 21 to enter or leave the MG, it is impossible to meet the requirement for transferring the subsequent packets of the service. If the FTP services from port 21 and all other ports are permitted to enter or leave the MG to implement the FTP services, the packet filtering effect is lost.